The present invention pertains to disk type data storage devices and more particularly to a structure and technique for accommodating replacement assemblies having different levels of firmware partitions without, operator intervention.
A disk drive that must function as a single entity with respect to the using system is commonly partitioned into two parts a sealed head-disk assembly including the precision mechanical portions and some few electronic functions disposed within the enclosure and the principal electronic control circuits which are mounted outside the enclosure. It is also a regular practice to make these portions of the disk drive independently replaceable so that damage or failure associated with one portion does not require replacement of both.
A further practice used in controlling the device is to partition the drive firmware. The code that must be continuously available and accessible at high speed is included in the flash memory in the control circuitry as electrically erasable, electrically programmable read only memory. Other portions of the control firmware, that are less regularly and alternatively used, are stored in the reserved area on the disk media and swapped into and out of volatile random access memory (RAM).
The short design cycles and rapid technical change associated with disk drives results not only in a rapid sequence of new product introductions, but also in continuous upgrades in current products to extend the competitive life. With the drive firmware partitioned between two field replaceable units (FRUs), the controller hardware and the head-disk enclosure, there must be assurance that the firmware portions are compatible and will function together. Thus, if one of the field replaceable units is replaced, it is possible that a disabling incompatibility will occur. In this event either the drive or the entire system will fail to function until the difficulty is diagnosed and the drive made not only operative, but compatible firmware installed. There has previously been a recognition and accommodation of the problem occasioned by the presence of incompatible firmware partitions. The resolution has been to disable the data write function, but to allow data to be read, if the read can be accomplished successfully. However, this causes the drive to be at least partially disabled until the user corrects the condition, or more likely, has the system serviced to correct the problem. With nontechnically oriented users, systems and auxiliary equipment must solve problems such as device compatibility without user intervention. For the system and the drive to be user friendly, such problems must be resolved without user awareness that the condition occurred.
In a drive incorporating the present invention, the firmware is partitioned between a read only memory (ROM) portion or partition stored in the drive controller electronics in electrically erasable, electrically programmable read only memory and the RAM portion or partition of the firmware is stored on the disk media in the reserved area. However, a copy of the ROM portion of the firmware is also stored on the disk media which is a version compatible with the firmware RAM portion stored on the media. In normal operation, the ROM portion stored on the media would never be accessed. Each of these firmware portions or partitions contains an identifier that indicates the level of the firmware partition and the levels of the other partitions with which it is compatible.
When drive power is turned on, the spindle is accelerated to operating speed, whereupon the firmware identifiers are checked for compatibility. If compatibility exists, the start up sequence continues through the various checks, tests and verifications to achieve a ready state and enable data read and write commands to be executed.
If the check of firmware identifiers indicates the presence of incompatible firmware parts as a result of the installation of an updated or different level replaceable unit, the compatible ROM portion of the firmware stored in the reserved area of the disk media is reprogrammed into the flash memory. Normal operation of the drive is thereupon restored without operator intervention.